import Vue from 'vue'
import Vuex from 'vuex'
import * as auth from '@/utils/auth.js'
// 导入封装的登录接口请求方法
import { login } from '../api/user'
// console.log(login)

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    // 存储用户token到本地存储
    user: auth.getToken() || {}
  },
  mutations: {
    setToken (state, token) {
      // 修改token
      state.user = token
      // 修改本地存储内的token
      auth.setToken(token)
    },
    delToken (state) {
      // 删除token
      state.user = {}
      // 删除本地存储内的token
      auth.delToken()
    }
  },
  actions: {
    async getToken ({ commit }, form) {
      const { data } = await login(form)
      // console.log('传输过来的表单数据: ', form) // 传输过来的表单数据 {mobile:手机号, code:验证码}
      // console.log('从后台获取到的token: ', data) // 从后台获取到的两个token
      // 调用setToken将token传给setToken进行存储更新
      commit('setToken', data)
    }
  },
  modules: {
  }
})
